


Practice Makes Perfect

by I_kink_therefore_I_am



Series: Porn Battle Prompt Stack 2 (2017) [2]
Category: Voltron: Legendary Defender
Genre: Blow Jobs, Cock Worship, Come Eating, Comeplay, Dirty Talk, Exhibitionism, First Time, M/M, Masturbation, Plot What Plot/Porn Without Plot, Porn at the Garrison, Pre-Canon, Voyeurism, fantasies
Language: English
Status: Completed
Published: 2017-03-11
Updated: 2017-03-11
Packaged: 2018-10-02 17:30:01
Rating: Explicit
Warnings: No Archive Warnings Apply
Chapters: 1
Words: 3,523
Publisher: archiveofourown.org
Story URL: https://archiveofourown.org/works/10223432
Author URL: https://archiveofourown.org/users/I_kink_therefore_I_am/pseuds/I_kink_therefore_I_am
Summary: Shiro supposed there were better ways to react than running away after watching his friend jerk off, but in his defense, he'd never seen it mentioned in the training manual.





	

**Author's Note:**

> Written for [Porn Battle Prompt Stack 2](http://pbam.dreamwidth.org/9354.html), for: Keith/Shiro, first time, dirty talk, and kiss. Took a lot longer than it should've, but here it is. :)

Shiro burst into his bedroom like the devil was on his heels, but no matter how fast he ran, he couldn't leave the images behind. Even when he closed his eyes, Keith was there; while that wasn't unusual for Shiro, it was inconvenient when the image was of Keith sitting in the pilot's chair with his cock out, strips of come cooling on his stomach and thighs. Shiro didn't know how he was supposed to forget that, but he knew he had to: he might've gotten lucky once, but Shiro doubted he'd walk in on Keith again, or that Keith would be desperate enough to let him watch. It had been an accident, and he had to get over it.

Unfortunately, his traitorous dick didn't get the memo; even after Shiro had ran all the way back with a hard-on, it was still there, pressing painfully against his zipper. It was too urgent to ignore, and he unzipped his uniform pants just for a little relief, intending to continue ignoring it afterward. He wasn't going to jerk off thinking about Keith tonight, he told himself; he _wasn't_.

But, he realized when his cock only seemed to get harder inside his underwear and he got more desperate to relieve it, that didn't mean he couldn't jerk off at _all_. He just had to show some restraint in his fantasies, and with that thought, he stepped out of his uniform pants. After another moment of tension, he took off his jacket and shirt as well, leaving him standing in the dark in his underwear. That alone wasn't weird, though; it could've been any regular day where Shiro decided to rub himself off. Just a normal, regular day.

Shiro rubbed the heel of his hand against his dick, hard enough that he nearly saw stars. The thin barrier of his underwear kept him from coming immediately, but there was only so much cotton could do to dull the sensation, especially when the fabric was getting slicker by the second. There was already a sizable wet area near the elastic band, pre-come pooling around the twitching tip of his cock and dampening his underwear, and Shiro only had to tug weakly at the fabric to see his cock outlined obscenely.

Shiro wondered, belatedly, if Keith had noticed that he was hard before he ran from the simulator, and then he tried to shake the thought away; he wasn't supposed to be thinking about that. Keith might've made a game of trying to turn Shiro on, but that didn't mean Shiro had to get lost in the fantasy. He was perfectly capable of jerking off like a normal guy, _without_ thinking about his friend doing the same, and it was with that thought that he gave himself a determined stroke over his underwear, letting himself get distracted by the sticky mess already sliding against his skin.

His conviction lasted all of a minute, because as soon as Shiro was close again, his back curving away from the door as his hips pumped into the rough rubbing of his hands, the image of a messy and satiated Keith popped back into his head. Shiro wanted to lick him clean, but now, in this fantasy, Shiro imagined Keith watching him jerk off in his underwear instead. Would he find it hot that Shiro never touched his cock directly, or would it seem weird? Shiro's fantasy said "hot," and that was all it took, the idea of Keith being turned on by _him_ , for his orgasm to be ripped out of him.

"Keith," Shiro said on a groan as warmth flooded under his hand, and then louder when he remembered there was no one in his room to overhear. "Keith!"

The sound echoed through his room without answer, but Shiro didn't let that bother him, not that second. He wasn't finished, and it was with an urgent shimmy of his hips that he slid out of his underwear and brought the messy fabric to his mouth. If he concentrated, he thought he could still smell Keith's come on his hand, and he sucked up his load more eagerly than usual, imagining it was Keith's instead. The fantasy was not new, but now that it had had something to build on, coming back to reality—Shiro's underwear going cold in his hands while he sat on the floor, alone—was like a crash landing. Keith wasn't here because he was back in the simulator, no doubt coming to his senses now that the immediate need for an orgasm had passed; once he did, the embarrassment would come to the surface as anger, and he wouldn't be able to look at Shiro the same until it passed.

Shiro wondered how long Keith would have to avoid him before they could start pretending that nothing had happened.

***

As it turned out, Keith didn't try to avoid him, nor did he give Shiro time to try that either. Shiro shouldn't have been surprised, since this was Keith: he was always ready to take the first step into the unknown, regardless of the consequences. It was an admirable trait, even if it was more annoying than anything when Shiro opened the door of his room the next day only to nearly trip over Keith's legs that were stretched across his doorway.

"Keith," Shiro said, equal parts exasperated and embarrassed after stumbling. Keith just watched him from his place on the floor.

"Good morning, Shiro," Keith said, and when he stood, it was with an air of casualness that Shiro didn't believe for a moment. "I have some questions about my simulator score. If you have a minute."

"Does it have to be right now?" Shiro asked. He refused to acknowledge that the question might have come out in something close to a whine.

Keith nodded shortly, and Shiro sighed. Against his better judgement, he gestured to the door leading back into his bedroom, the same door Keith had been blocking.

"Did you want to come in, then?"

Another nod, and Keith moved inside quickly, not giving Shiro a chance to change his mind. The joke was on him: Shiro briefly considered just letting the door close and taking off down the hallway, but running hadn't worked yesterday, and he doubted Keith would just _leave_ , even if it meant waiting all day. So although he didn't want to, Shiro went back into his bedroom, expecting Keith to turn on him with annoyance the minute the door closed.

That wasn't what he got.

"Did I ruin everything? Because of how I acted yesterday?" Keith asked quietly, eyes fixed guiltily on the floor.

Shiro had told himself to stay silent and let Keith talk, but already he couldn't stand it. He hadn't expected Keith to feel _bad_ about any of this.

"No, nothing's ruined," Shiro said softly. "I just…wasn't sure what to do." He looked over Keith's shoulder, because continuing to look at Keith's guilty expression was making his chest ache. "I mean. That's not something friends do, is it? Watch each other jerk off?" Shiro tried to laugh at the ridiculousness of the idea, but the sound was strangled by the memory of yesterday, and it came out flat and insincere.

There was a moment of silence before either said anything, and then Keith seemed to find the words he was looking for.

"It could be," Keith said slowly, "if you wanted it."

Shiro felt like he'd just swallowed his tongue.

"W-what?"

"I don't mind giving you a show, Shiro," Keith said, and when Shiro glanced at him, the guilt was gone, replaced with eyes that were dark and heated. "I liked it. You watching me and getting turned on." Keith flicked his eyes down pointedly, answering the question of whether Keith had noticed his response the day before. "Did you come back here and jerk off?"

The question, asked so casually, made Shiro's cheeks heat.

"Yes," Shiro answered, because as embarrassing as the truth was, he always tried to be honest.

"Really?" Keith looked surprised for only a second before his gaze went hot again. "In your bed? Or your chair, maybe? Not at your desk; you have too many papers there."

"No, not there," Shiro said, not sure what compelled him to answer. Whatever it was, it made his heart beat faster and his hands tremble. "I was standing with my back against the door. Thinking…thinking of you."

Keith sucked in a loud breath, and when he exhaled, it sounded more like a moan than anything. It was just like the sounds Keith had made yesterday, and Shiro reflexively looked down to see that Keith was suddenly hard, visibly straining against his pants. Oh God—Keith was hard because he was _picturing_ Shiro jerking off. 

Shiro was not prepared for this, nor was he prepared for the look on Keith's face when he noticed Shiro staring, simultaneously smug and lustful. 

To be fair, Keith had a lot to be smug about; by Shiro's memory, his dick was great.

"Did you want another show?" Keith asked softly, and Shiro found himself nodding before he'd consciously decided to. Keith looked surprised again, but he recovered quickly, tilting his chin towards Shiro's bed to indicate that he should sit.

Shiro did so after a moment's hesitation, because while he hadn't meant that he needed to see it right that second, he also couldn't come up with a good reason to refuse. By the time Keith seemed satisfied that Shiro wasn't going anywhere and he turned to reach for Shiro's desk chair, Shiro was already hard, his legs were almost wobbly from anticipation.

He was grateful he was sitting, because the shaking only got worse when Keith positioned the chair in Shiro's sight line, giving him the best possible view. When Keith sat down, it was with his legs splayed and the button of his pants already undone, and it left very little to the imagination. 

"Are you sure?" Shiro asked after a beat, because they hadn't talked about it, not really, and Shiro had seen how easily sex could ruin a friendship. Shiro would admittedly sacrifice a lot of things to see Keith as he'd been yesterday, but Keith's friendship wasn't one of those things.

"I'm sure," Keith said, and he was smiling as he said it, smiling and running his fingers over the bulge in his pants. Under Shiro's attentive gaze, he played with the zipper, a deliberate tease for them both, but soon enough he began to slide it down. The action revealed shockingly bare flesh rather than underwear, and as soon as his pants were unzipped, his cock sprang free to slap against his shirt. Keith's dick looked different from Shiro's memory thanks to the overhead lights, but after he adjusted for that, the most striking difference was the messy shine. Keith wasn't just hard, he was dripping, and Shiro couldn't stop himself from licking his lips as Keith wiped the pre-come down his shaft with his first easy stroke.

"Like it so far?" Keith asked, and there was an edge to his voice like he was nervous, although Shiro couldn't see why he would be after yesterday. 

"That's an understatement," Shiro said.

The response seemed to satisfy Keith enough for him to relax, and he gave his cock a few more strokes while he pulled his shirt up to reveal tight abdominal muscles. That, combined with Keith leaning his head back with his pink lips parted, was nearly enough to undo Shiro; the sight was just so _pretty_ , with Keith's delicate-boned hands and slim cock that curved just slightly towards the tip, all of it next to a backdrop of smooth skin and defined muscle. Shiro wanted to worship him, to lick and suck and swallow until there wasn't an inch of Keith that he hadn't tasted, and the only thing that held him back was that Keith hadn't told him he could. 

But he could watch, just as he had yesterday. The difference was that, in the privacy of Shiro's room and with this show just for him, there was no reason for Shiro to hide his interest. No reason to be embarrassed or stay silent.

"You look gorgeous like this," Shiro said, and he watched Keith startle, momentarily thrown out of his seductive pose by the words. "I already knew you were attractive, but seeing you like this is something else." Shiro swallowed as he looked at the pink, wet head of Keith's cock. "I want…"

"Yeah?" Keith looked at Shiro directly when he trailed off, expression challenging. "Tell me what you want."

Keith clearly expected him to hesitate, or maybe to hide behind gentile words. Shiro had no intention of doing so; he'd imagined this for a long time, and yesterday had only added fuel to that fire. He didn't need experience to know just what he wanted to say.

"I've never sucked cock," Shiro began, enjoying the way Keith's eyes widened in surprise, "but I've thought about how much I wanted to try it before. I thought about it a lot yesterday—your cock is perfect, and I don't think I'd have any trouble getting my mouth around it. I know I'd like the taste; all I wanted yesterday was to kneel down so you could come in my mouth." Shiro paused. "The length might be a problem, though—I always gag at the dentist, and I think I'd have to really practice if I wanted to swallow your dick."

"You say that like practice is a bad thing," Keith said, his voice shaking a little, as were his knees. His cock remained hard and swaying in his hand, but Shiro thought the tip looked a little wetter than before, and he could feel his mouth watering in response. "I wouldn't mind. You practicing on me, I mean."

"I thought you just wanted me to watch."

"Shiro," Keith said, with a huffing laugh, "if you want to suck my dick, I am _not_ going to stop you."

Shiro didn't need any more encouragement than that, and he was sliding to the floor almost before Keith had finished speaking. Keith was close enough that Shiro barely had to crawl forward to be between his legs, and they spread wide to accommodate him. After a moment's thought, Shiro grabbed them and draped them over his shoulders instead, hoping the position would be more comfortable for Keith.

Keith responded like Shiro had just done something impossibly erotic, and he moaned while his hand squeezed his cock once, twice. Pre-come beaded again on the tip of his cock, and Shiro stared at the clear droplets, so close he could almost smell them. His mouth had never been this close to a cock before.

"Tell me if I hurt you," Shiro said, and he didn't wait for a response before he surged forward to lick away those drops. It was barely a sample of taste, but it still made Shiro sigh with satisfaction and wrap his lips completely around the head.

When Keith released his hold on his cock and laid both hands on his thighs, Shiro took that as permission to touch more, and he brought his hands up to curl around Keith's shaft. Although Keith's cock felt different than Shiro's own, the strangeness of it was lost as Shiro eagerly tried to duplicate the speed and angle that Keith had used when touching himself. All the while, Shiro kept his mouth moving, letting more and more saliva drip down Keith's skin and ease the way.

One errant drop slid too far, and Shiro didn't think twice before dipping his head down and licking across Keith's balls and back up his cock to catch it. Keith jolted and Shiro took the hint, repeating the motion until Keith's balls were damp and his cock was twitching insistently in Shiro's hands.

"Are you sure you've never done this before?" Keith asked, and his voice was breathy enough that Shiro felt flattered.

"No, never." Shiro squeezed Keith's shaft between his hands, liking the hot, wet weight of it; that, at least, was not new. "I've given some hand jobs before, but most people don't think I'm interested in giving blow jobs."

"Their loss," Keith said, and then he tilted his hips up impatiently, clearly tired of talking.

Shiro grinned and gave Keith's cock another long, wet lick, a tease that ended with him curling his tongue around the tip. He lingered there for a while, liking the way the skin on the end felt especially soft and delicate under his tongue, and when he pulled off, it was with a wet smack of his lips and a gratifying whine from Keith. Shiro didn't let that distract him, and he continued mouthing along Keith's shaft, savoring every new inch and texture he discovered.

By the time Shiro had made his way slowly down to Keith's balls and back up, he felt confident and hungry enough to attempt to suck Keith dry, and he opened his mouth wide around his cock. As Shiro had expected, he couldn't fit more than about three inches in his mouth before he began to feel the telltale tickle at the back of his throat, but Shiro figured enthusiasm would make up for technique on that part. He sucked enthusiastically while his hands continued pumping, and all the while, he felt the tremors moving through Keith's body as he fought the urge to thrust. It must have been difficult to hold still while Shiro explored, but Keith managed it, never doing more than clenching his thighs against Shiro's shoulders.

Shiro did his best to reward him for that, trying to find the spots that he liked with his fingers while he sucked. A push of his thumb against Keith's perineum caused him to jackknife upwards, nearly pushing his cock too far into Shiro's mouth, but all Shiro had to do was make a startled sound and Keith's ass was immediately back in the chair. Shiro moaned and pressed that spot again, but this time Keith stayed put, even as he moved his legs back and forth on Shiro's shoulders, clearly on edge.

Shiro didn't torment him much longer, and around the time Shiro's jaw started to ache, Keith laid a palm against Shiro's cheek.

"Shiro," Keith panted, and his fingertips nudged against Shiro's jaw. They didn't hold him there, just applied coaxing pressure. "Shiro, I'm going to come."

It was clearly meant as a warning, but Shiro just continued sucking eagerly around his mouthful of cock. He heard Keith gasp, and the hand that had been so gentle on his face slid upwards to somehow find purchase in his short hair, unwittingly keeping him close.

Whatever sounds Keith made when he came were drowned out by Shiro whimpering as come shot down his throat, and he pulled back only far enough to get a better taste, letting his mouth go slack and soft while familiar, salty flavor coated his tongue. Since the taste was so familiar, Shiro focused on the differences, like how it was so much hotter when sucked directly from a cock rather than allowed to cool on underwear, and how Keith seemed to produce much more come than Shiro did. Shiro thought he might get addicted to it, but even if he didn't, he didn't think he'd soon forget the feeling of Keith's lean legs over his shoulders or Keith's hand buried in his hair.

It was perfect, and Shiro whimpered again as he came inside his pants almost like an afterthought. The resulting sticky mess usually filled him with a sense of urgency, a need to get it in his mouth before it went stiff and tacky, but with his mouth still filled with Keith's softening flesh, it was easy to ignore this time. So instead, he just sucked and sucked, wanting every last drop of Keith he could get.

When Keith made a pained sound, Shiro finally stopped sucking and pulled back, but he didn't go far, still tethered by Keith's hand in his hair. He pressed a gentle kiss against Keith's bared thigh, an impulse and an outlet for the emotion he was feeling.

Keith twitched, and his grip on Shiro's hair loosened while his legs slid off his shoulders.

"You're amazing," Keith said, somehow managing to sound annoyed about it. "And I don't think you need any practice at all."

The tone was wrong, and Shiro was worried for all of a second, wondering if he really _had_ ruined their friendship after all, when Keith leaned forward and hugged him. The angle was awkward, especially with Shiro's hands still wrapped around Keith's softening cock, but Keith's arms were still tight around his shoulders and his hair was soft against Shiro's cheek.

"Next time, let's add kissing, okay?" Keith said, and then he did kiss Shiro, very chastely, on his sore lips. It was almost like he was worried about where Shiro's mouth had been, which was very funny under the circumstances.

But Keith kissed him anyway, despite his misgivings, and Shiro supposed that was a start.


End file.
